---
id: 5900f4f31000cf542c510006
title: 'Завдання 391: гра «Класики»'
challengeType: 1
forumTopicId: 302056
dashedName: problem-391-hopping-game
---

# --description--

Нехай $s_k$ буде кількістю одиниць при записі чисел від 0 до $k$ у бінарній системі.

Наприклад, записуючи числа від 0 до 5 у бінарній системі, ми отримаємо 0, 1, 10, 11, 100, 101. Всього сім одиниць, тому $s_5 = 7$.

Послідовність $S = \\{s_k : k ≥ 0\\}$ починається з $\\{0, 1, 2, 4, 5, 7, 9, 12, \ldots\\}$.

Грають два гравці. Перед початком гри обрано число $n$. Лічильник $c$ починається з 0. На кожному ході гравець обирає число від 1 до $n$ (включно) і збільшує $c$ на це число. Отримане значення $c$ має належати $S$. Якщо гравець не має можливих ходів, то він програє.

Наприклад, за умови $n = 5$ і починаючи з $c = 0$:

- Гравець 1 обирає 4, тому значенням $c$ стає $0 + 4 = 4$.
- Гравець 2 обирає 5, тому значенням $c$ стає $4 + 5 = 9$.
- Гравець 1 обирає 3, тому значенням $c$ стає $9 + 3 = 12$.
- і т. д.

Зверніть увагу, що $c$ завжди належить $S$, і кожен гравець може збільшити $c$ не більше ніж на $n$.

Нехай $M(n)$ буде найбільшим числом, яке може обрати перший гравець за перший хід, щоб виграти, і $M(n) = 0$, якщо такого ходу немає. Наприклад, $M(2) = 2$, $M(7) = 1$ та $M(20) = 4$.

Можна довести, що $\sum M{(n)}^3 = 8150$ за умови $1 ≤ n ≤ 20$.

Знайдіть $\sum M{(n)}^3$ за умови $1 ≤ n ≤ 1000$.

# --hints--

`hoppingGame()` має повернути `61029882288`.

```js
assert.strictEqual(hoppingGame(), 61029882288);
```

# --seed--

## --seed-contents--

```js
function hoppingGame() {

  return true;
}

hoppingGame();
```

# --solutions--

```js
// solution required
```
